As a scheme capable of efficiently encoding a speech signal or music signal in an ultra-wideband (SWB: Super-Wide-Band) of 0.05 to 14 kHz, there are techniques disclosed in Non-Patent Literature (hereinafter, referred to as “NPL”) 1 and NPL 2 standardized in ITU-T (International Telecommunication Union Telecommunication Standardization Sector). According to these techniques, a band of up to 7 kHz is encoded by a core coding section and a band of 7 kHz or higher (hereinafter referred to as “extended band”) is encoded by an enhanced coding section.
The core coding section performs coding using code excited linear prediction (CELP), transforms a residual signal that cannot be encoded by CELP into a frequency domain through MDCT (Modified Discrete Cosine Transform) and then encodes the transformed residual signal through transform coding such as FPC (Factorial Pulse Coding) or AVQ (Algebraic Vector Quantization). The enhanced coding section performs coding using a technique of searching for a band having a high correlation with a low band spectrum of up to 7 kHz in an extended band of 7 kHz or higher and using a band having the highest correlation for coding of the extended band. According to NPL 1 and NPL 2, the number of coded bits is predetermined for the low band side of up to 7 kHz and the high band side of 7 kHz or higher respectively and the low band side and the high band side are encoded with the respectively determined numbers of coded bits.
NPL 3 also discloses that a scheme for encoding SWB is standardized in ITU-T. The coding apparatus according to NPL 3 transforms an input signal into a frequency domain through MDCT, divides the input signal into subbands and performs encoding on a subband basis. More specifically, this coding apparatus first calculates energy of each subband and performs encoding. Next, the coding apparatus allocates coded bits for encoding a frequency fine structure to each subband based on the subband energy for encoding the frequency fine structure. The frequency fine structure is encoded using lattice vector quantization. As with FPC or AVQ, lattice vector quantization is also a kind of transform coding suitable for spectrum coding. Since coded bits are not sufficiently allocated in lattice vector quantization, there may be a large error between the energy of the decoded spectrum and the subband energy. In this case, coding is performed through processing of filling the error between the subband energy and the energy of the decoded spectrum with a noise vector.
NPL 4 discloses a coding technique using AAC (Advanced Audio Coding). AAC calculates a masking threshold based on a perceptual model, excludes MDCT coefficients equal to or lower than the masking threshold from coding targets and thereby efficiently performs coding.